home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Belgian Amiga Club - ADF Collection
/
BS1 part 41.zip
/
BS1 part 41
/
Devpac 2.12 disk 2.adf
/
include.cbm
/
libraries
/
filehandler.i
< prev
next >
Wrap
Text File
|
1987-03-31
|
4KB
|
94 lines
**** libraries/filehandler.i **********************************************
*
* device and file handler specific code for AmigaDOS
*
* Copyright (C) 1986, Commodore-Amiga, Inc., All rights reserved.
*
* $Header: filehandler.i,v 33.4 86/05/21 19:14:20 neil Exp $
*
* $Locker: $
*
****************************************************************************/
IFND LIBRARIES_FILEHANDLER_I
LIBRARIES_FILEHANDLER_I SET 1
IFND EXEC_TYPES_I
INCLUDE "exec/types.i"
ENDC !EXEC_TYPES_I
IFND EXEC_PORTS_I
INCLUDE "exec/ports.i"
ENDC !EXEC_PORTS_I
IFND LIBRARIES_DOS_I
INCLUDE "libraries/dos.i"
ENDC !LIBRARIES_DOS_I
** The disk "environment" is a longword array that describes the
** disk geometry. It is variable sized, with the length at the beginning.
** Here are the constants for a standard geometry.
** these are the offsets into the array
DE_TABLESIZE EQU 0 ; standard value is 11
DE_SIZEBLOCK EQU 1 ; in longwords: standard value is 128
DE_SECORG EQU 2 ; not used; must be 0
DE_NUMHEADS EQU 3 ; # of heads (surfaces). drive specific
DE_SECSPERBLK EQU 4 ; not used; must be 1
DE_BLKSPERTRACK EQU 5 ; blocks per track. drive specific
DE_RESERVEDBLKS EQU 6 ; unavailable blocks at start. usually 2
DE_PREFAC EQU 7 ; not used; must be 0
DE_INTERLEAVE EQU 8 ; usually 0
DE_LOWCYL EQU 9 ; starting cylinder. typically 0
DE_UPPERCYL EQU 10 ; max cylinder. drive specific
DE_NUMBUFFERS EQU 11 ; starting # of buffers. typically 5
DE_MEMBUFTYPE EQU 12 ; type of mem to allocate for buffers.
; default is 3, hard disks want 0
** The file system startup message is linked into a device node's startup
** field. It contains a pointer to the above environment, plus the
** information needed to do an exec OpenDevice().
STRUCTURE FileSysStartupMsg,0
ULONG fssm_Unit ; exec unit number for this device
BSTR fssm_Device ; null terminated bstring to the device name
BPTR fssm_Environ ; ptr to environment table (see above)
ULONG fssm_Flags ; flags for OpenDevice()
LABEL FileSysStartupMsg_SIZEOF
** The include file "libraries/dosextens.h" has a DeviceList structure.
** The "device list" can have one of three different things linked onto
** it. Dosextens defines the structure for a volume. DLT_DIRECTORY
** is for an assigned directory. The following structure is for
** a dos "device" (DLT_DEVICE).
STRUCTURE DeviceNode,0
BPTR dn_Next ; singly linked list
ULONG dn_Type ; always 0 for dos "devices"
CPTR dn_Task ; standard dos "task" field. If this is
; null when the node is accesses, a task
; will be started up
BPTR dn_Lock ; not used for devices -- leave null
BSTR dn_Handler ; filename to loadseg (if seglist is null)
ULONG dn_StackSize ; stacksize to use when starting task
LONG dn_Priority ; task priority when starting task
BPTR dn_Startup ; startup msg: FileSysStartupMsg for disks
BPTR dn_SegList ; code to run to start new task (if necessary).
; if null then dn_Handler will be loaded.
BPTR dn_GlobalVec ; BCPL global vector to use when starting
; a task. -1 means that dn_SegList is not
; for a bcpl program, so the dos won't
; try and construct one. 0 tell the
; dos that you obey BCPL linkage rules,
; and that it should construct a global
; vector for you.
BSTR dn_Name ; the node name, e.g. '\3','D','F','3'
LABEL DeviceNode_SIZEOF
ENDC !LIBRARIES_FILEHANDLER_I